package cn.tedu.io;
import java.io.*;
//测试 字节流写出
//总结
//1.效率上来讲谁快？ BufferedOutputStream > FileOutputStream
//2.为什么？因为BufferedOutputStream底层维护了一个数组byte[] buf:8192.
//可以缓冲一批数据，实现了批量写出，提高一个一个写的效率
public class Test2 {
    public static void main(String[] args) throws IOException {
        method();//FileOutputStream
        method2();//BufferedOutputStream

    }

    public static void method2() throws IOException {
        //1.创建对象
        OutputStream out =new BufferedOutputStream(
//                new FileOutputStream("C:\\file\\1.txt"));//会覆盖之前文件里的数据，导致数据丢失
                new FileOutputStream("C:\\file\\1.txt",true));//在之前的数据后面加入新的数据，不会覆盖之前的数据
        //2.调用方法写出
        out.write(90);
        //3.关闭资源
        out.flush();//把数据从out流里，刷出到磁盘里
//        out.close();//把数据从out流里，刷出到磁盘里，并且关闭资源
//        out.write(90);

    }
    //FileOutputStream
    public static void method() throws IOException {
        //1.创建对象 --参数是文件的路径
        OutputStream out =new FileOutputStream("C:\\file\\1.txt",true);
        //2.调用方法写出
        out.write(97);
        out.write(98);
        out.write(99);
        out.write(100);

        byte[] bs ={50,51,52};
        out.write(bs);//一个数组里的数据都写出
        //3,关闭资源
        out.close();
        //close()之后不能继续写出，否则抛出异常：Straem Closed
        //out.write(100);
    }
}
